Systems and methods emulating automobile movement

ABSTRACT

A system, including: a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations including: detecting a first automobile; determining that the first automobile is a self-driving automobile; and in response to determining that the first automobile is a self-driving automobile, causing a second automobile to emulate a motion of the first automobile.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/840,830, filed on Dec. 13, 2017, the disclosure of which isincorporated herein by reference in its entirety.

BACKGROUND Field of the Disclosure

The present disclosure generally relates to automated automobilemovement, and more particularly to systems and methods identifyingself-driving automobiles and emulating the movements of self-drivingautomobiles.

Related Art

Automation is increasing as computing power gets cheaper and moreubiquitous. Examples include increasing use of robotics in manufacturingand surgery, but also in areas that are touched by consumers. Forinstance, digital personal assistants and home automation hubs arebeginning to be commonplace in consumer homes, allowing users to controldevices in their homes and to call up information with voice commands.

An example of increasing automation includes self-driving automobiles,which are becoming more sophisticated each year. For instance, someautomobiles provide partial self-driving capabilities, includingallowing a user to take her hands off of the steering wheel whilesoftware intelligence within the car reads lane markers and keeps thecar safely within its own lane as it moves forward. Partial self-drivingcapabilities are usually implemented for short periods of time,requiring a user to place her hands back on a steering wheel after acertain amount of time or when ability to stay within the lane iscompromised.

Other automobiles may provide for full or nearly full autonomousdriving, even dispensing with a human driver altogether. Whetherpartially autonomous or fully autonomous, self-driving automobiles tendto rely on a multitude of sensors and sophisticated software. Currentlyimplemented autonomous automobiles may be expected to include a fullcomplement of sensors front, side, and rear to provide comprehensivedata regarding the automobile's surroundings, such as other automobilesand obstacles. Such sensors and sophisticated software may be quiteexpensive, increasing the cost of autonomous features in automobilesbeyond a cost that would be expected for non-autonomous automobiles.

Furthermore, as the number of fully autonomous and partially autonomousautomobiles increases, they will make up a significant proportion oftraffic, while at the same time sharing the road with human-drivenautomobiles. As the number of cars with various levels of self-drivingability enter the world's roadways, they will continue to interact witheach other during the normal flow of traffic and attempt to avoid orminimize collisions whether by human command or autonomously.

Thus, there is a need for systems and methods capable of providing costeffective performance while allowing autonomous automobiles to share theroad with automobiles of any autonomous ability.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is an illustration of an electronic system, including multiplecomponents communicatively coupled via a network, according to oneembodiment;

FIG. 2 is a schematic diagram of one automobile following anotherautomobile by emulation, according to one embodiment;

FIG. 2 is a schematic diagram of one automobile following anotherautomobile by emulation, according to one embodiment;

FIG. 4 is an illustration of an example method for emulating motion ofan automobile, according to one embodiment;

FIG. 5 is an illustration of an example computer system that may be usedas an automobile controller or a server and to perform the actionsdescribed with respect to FIGS. 1-4, according to one embodiment.

Embodiments of the present disclosure and their advantages are bestunderstood by referring to the detailed description that follows. Itshould be appreciated that like reference numerals are used to identifylike elements illustrated in one or more of the figures, whereinshowings therein are for purposes of illustrating embodiments of thepresent disclosure and not for purposes of limiting the same.

DETAILED DESCRIPTION

The present disclosure describes systems and methods for identifyingautonomous automobiles. For instance, a first automobile may includesensors and software configured to determine whether an autonomousautomobile is present or proximate the first automobile.

An example includes the first automobile observing a drivingcharacteristic of another automobile. The characteristic may includeconsistency of following distance (e.g., within a +/− predetermineddistance from the other automobile), consistency of speed (e.g., theother automobile moving within a +/− rate of travel), conformance totraffic rules (e.g., the other automobile traveling no more than apredetermined number over posted speed limits), consistency of laneposition (e.g., the other automobile staying within a lane or not movinglaterally within the lane by more than a predetermined amount), whichlane the other automobile is driving in, and/or the like. The firstautomobile may include forward-facing radar or mobile laser scanning(e.g., lidar) that emits electromagnetic radiation and detects reflectedelectromagnetic radiation and processing hardware and software toprocess the reflected electromagnetic radiation to discern the drivingcharacteristics. The first automobile uses its radar or mobile laserscanning to scan other automobiles on the road and determine theirdriving characteristics.

Processing features then compare detected driving characteristics to aplurality of stored driving characteristics in a database or other datastructure, including cloud storage. The stored driving characteristicsmay include values for driving characteristics that indicate thepossibility of a self-driving automobile. In response to comparingdetected driving characteristics to the stored driving characteristics,the processing features determine that the detected drivingcharacteristic conforms to one or more characteristics of the storeddriving characteristics, thereby matching or approximately matching aprofile of a self-driving automobile.

In another example, the first automobile includes transducers to detectelectromagnetic emissions from other automobiles and processing featuresto process detections of those emissions. Continuing with the example,various self-driving automobiles may emit one or more characteristicelectromagnetic signals. For instance, some may include electromagneticbeacons to specifically identify them as self-driving automobiles. Otherself-driving automobiles may emit electromagnetic radiation thatincidentally identifies them as self-driving automobiles (e.g., radar orlidar emissions known to be associated with particular makes and modelsof cars). The first automobile may detect such electromagnetic signalsand determine that a particular nearby automobile is a self-drivingautomobile.

Other examples for identifying automobiles as self-driving automobilesmay include receiving an identifier from the automobile and determiningthe identifier is associated with a self-driving automobile, such as thefirst automobile scanning license plates and matching license plate datawith known self-driving automobiles, such as through accessing DMV sitesor other available sites or resources, using computing vision toidentify contours and/or badges of automobiles and match them againstknown self-driving automobile makes and models. In fact, variousembodiments may include any appropriate technique to identifyself-driving automobiles.

Further continuing with the example, after having identified aself-driving automobile, the first automobile is caused to emulate themotion of the self-driving automobile, thereby allowing the firstautomobile to follow the self-driving automobile. In an example usecase, the first automobile may include processing logic to calculate aspeed and a position of the self-driving automobile as the self-drivingautomobile is in motion for a plurality of discrete locations along adriving path. The first automobile may use radar, lidar, computervision, and/or the like to track the speed of the self-drivingautomobile and track the lane position of the self-driving automobile.Furthermore, the first automobile may process data from radar, lidar,computer vision and/or the like to create a three-dimensional modelhaving a plurality of time slices, where each of the time slices isassociated with a speed value and a location value for the self-drivingautomobile, wherein a location value may include a lane position and arelative position with respect to the self-driving automobile.

The first automobile then conforms to the speed and position of theself-driving automobile in real-time as the first automobile follows theself-driving automobile along the plurality of discrete locations of adriving path. For example, processing logic at the first automobile maysend signals to various actuators within the first automobile to causethose sensors and actuators to adjust steering, breaking, throttle,and/or the like to conform to the speed and position of the self-drivingautomobile.

In another example, processing logic identifies a destination of thefirst automobile and of the self-driving automobile, compares thedestinations, and upon determining that the destinations are the same orsimilar, causing the first automobile to emulate the motion of theself-driving automobile in order to bring the first automobile to thedestination. To a human observer, it would appear that the firstautomobile follows the self-driving automobile.

Of course, it may be appropriate at a point to switch from an emulationmode to a human-driving mode for the first automobile. Examples includewhen the first automobile may lose sight of the self-driving automobile,at the direction of the human user, upon detection of possible unsafeconditions, and/or the like. The first automobile may use variouswarnings, such as flashing lights or haptic warnings, to alert the humandriver to take control of the steering, brakes, and throttle.

Various embodiments may include physical systems to implement emulationof motion of a self-driving automobile, including radar, lidar, visionhardware, hardware and software to process information (e.g., motiondata) from the radar, lidar, vision, and a control system to determinespecific control signals for actuators in response to the processedinformation. Various other embodiments may include methods to performthe emulation. Other embodiments may include non-transitorymachine-readable media storing machine-readable instructions executableto provide functionality as described herein.

Various embodiments may include one or more advantages over conventionalsystems. For instance, in a use case in which the first automobile (thefollowing automobile) is not fully self-driving, it may nevertheless beable to emulate an identified self-driving automobile, thereby allowingthe driver of the first automobile to experience benefits ofself-driving. Furthermore, in various embodiments the first automobilemay not include as many sensors or software as sophisticated as that ofa fully self-driving automobile. For instance, the first automobile mayomit sideways facing sensors or rear facing sensors that would otherwisebe present in a fully self-driving automobile. However, the firstautomobile may still be able to perform similarly to a fullyself-driving automobile, at least for a period of time and in certaincircumstances. Thus, various embodiments may save manufacturing costrelative to a fully self-driving automobile by allowing automobiles withless self-driving capability to emulate automobiles with moreself-driving ability. Additionally, allowing the first automobile tofollow the self-driving automobile while emulating the self-drivingautomobile may make traffic flow more efficient and safe by providing aconsistent and safe following distance for the first automobile. Thus,another advantage may include more efficient and safe traffic flow aswell as a greater cooperation between automobiles of differentself-driving abilities.

FIG. 1 is a block diagram of a networked system 100 suitable forimplementing the processes described herein, according to an embodiment.As shown, system 100 may comprise or implement a plurality of devices,servers, and/or software components that operate to perform variousmethodologies in accordance with the described embodiments. Exemplarydevices may include specialized automobile control devices, such asdigital controller-based systems that perform cruise control, enginecontrol, braking, instrumentation, and the like. Example devices may usehardware, software, and/or firmware executed by a processor (e.g., adigital controller) to provide functionality described herein. Serversmay include stand-alone, and enterprise-class servers, operating an OSsuch as a MICROSOFT® OS, a UNIX® OS, a LINUX® OS, or other suitabledevice and/or server based OS. It can be appreciated that the devicesand/or servers illustrated in FIG. 1 may be deployed in other ways andthat the operations performed and/or the services provided by suchdevices and/or servers may be combined or separated for a givenembodiment and may be performed by a greater number or fewer number ofdevices and/or servers. One or more devices and/or servers may beoperated and/or maintained by the same or different entities.

System 100 includes automobile control 110, automobile control 120, andtravel server 130, in communication over a network 160. Automobilecontrol 110, automobile control 120, and travel server 130 may eachinclude one or more processors, memories, and other appropriatecomponents for executing instructions such as program code and/or datastored on one or more computer readable media to implement the variousapplications, data, and steps described herein. For example, suchinstructions may be stored in one or more computer readable media suchas memories or data storage devices internal and/or external to variouscomponents of system 100, and/or accessible over network 160.

Automobile control 110 may include a communication module 118 that mayutilize appropriate hardware and software configured for wired and/orwireless communication with automobile control 120 and/or travel server130. For example, in one embodiment, automobile control 110 may beimplemented as one or more digital controller-based devices havingaccess to a cellular data platform, a Wi-Fi platform, or the like. Inanother example, automobile control 110 may interface with one or morepersonal devices of a driver or rider and utilize the communicationsfunctionality and applications of the personal device. For example,automobile control 110 may interface with a user's personal computer(PC), a smart phone, laptop/tablet computer, wristwatch with appropriatecomputer hardware resources, eyeglasses with appropriate computerhardware, other type of wearable computing device, implantablecommunication devices, and/or other types of computing devices capableof transmitting and/or receiving data, such as an IPAD® from APPLE®.Examples of operating systems for use with automobile control 110include iOS® OS, Android® OS, and the like. Thus, any of the components112-119 may include functionality that may be implemented entirelywithin a first automobile or may be distributed among the firstautomobile, the user's personal device, and/or the travel server 130.

Automobile control 110 of FIG. 1 includes components such as controlsystem and actuators 112, sensors 114, a database 116, a communicationmodule 118, and a self-driving application 119. Components 112-119 maycorrespond to executable processes, procedures, and/or applications withassociated hardware. In other embodiments, automobile control 110 mayinclude additional or different modules having specialized hardwareand/or software as required.

Control system and actuators 112 may correspond to one or more hardwaredevices and associated processes to operate a first automobile throughcontrolling operations such as engine function, braking function,steering function, instrumentation, infotainment, navigation, and thelike. In various embodiments, control system and actuators 112 mayinclude an engine control unit (ECU), which monitors items such asfuel/air mixture, revolutions per minute, and the like and usesactuators (not shown) to physically implement and adjust those items.Also in various embodiments, control system and actuators 112 mayinclude a braking control unit, which monitors traction conditions andbreaking commands and actuates calipers or other breaking hardware tocause the first automobile to slow down, stop, distribute torque amongwheels, and the like. Various embodiments of control system andactuators 112 may also include a steering control unit, which may be adrive-by-wire unit, a hydraulically assisted unit, or other steeringunit that physically changes the direction of at least the front wheelsof the automobile according to user commands or other commands.

Of course, those are examples of automobile functions that may beperformed by control system and actuators 112, but those examples arenot intended to be comprehensive. Rather, in other embodiments,additional functions, such as transmission functions, traction control,tire pressure monitoring, hybrid drive functions, and electric drivefunctions may be assigned to control system and actuators 112.Furthermore, the scope of embodiments is not limited to an internalcombustion automobile, as any automobile drive system now known or laterdeveloped may be adapted for use in various embodiments.

Sensors 114 may include any of a variety of devices and computerfunctionality to determine a speed and position of an automobile as wellas any other automobiles that may be proximate the automobile. Forinstance, sensors 114 may include a forward-facing sensor system such asradar, lidar, visual light or infrared vision sensors and theirassociated processing systems. Sensors 114 may emit electromagneticradiation and receive reflections of that emitted electromagneticradiation or may simply receive electromagnetic radiation, whereexamples of electromagnetic radiation include radio signals, microwavesignals, visible light, infrared light, and/or the like. For instance,radar and lidar may emit radar or lidar signals and then receivereflections of the signals, whereas vision sensors may or may not emitlight but in any event receive reflected light. Sensors 114 process thereceived electromagnetic radiation to determine position and speed ofthe first automobile as well as objects (e.g., other automobiles) aroundthe first automobile. In one example, the first automobile may usesensors 114 to calculate the speed and position of another automobile asthat other automobile is in motion along a driving path of that otherautomobile.

In an example embodiment, sensors 114 may read license plate data ofother automobiles, read badging of other automobiles, or discerncontours of other automobiles to visually identify a make and model ofother automobiles, and/or the like. Continuing with the exampleembodiment, sensors 114 may also receive electromagnetic signals fromother automobiles, such as communication signals that identify thoseother automobiles or other emissions such as radar emissions. Sensors114 may be in communication with control system and actuators 112,database 116, communications module 118, and self-driving application119 via a bus or network as appropriate.

In various embodiments, automobile control 110 includes self-drivingapplication 119 as may be desired in particular embodiments to providefull or partial self-driving abilities. For instance, self-drivingapplication 119 may include hardware and/or software functionality tocommunicate with control system and actuators 112 to steer the firstautomobile and control the speed of the first automobile according toone or more driving algorithms that may be fully or almost fullyautomated or may include some combination of automation and human-baseddriving. In one example, self-driving application 119 uses informationfrom sensors 114 to map speed and position of another automobile over aplurality of discrete locations and then provide signals to controlsystem and actuators 112 to emulate the speed and position of the otherautomobile. Furthermore, self-driving application 119 may includelocation detection applications, such as a mapping, compass, and/or GPSapplications, which may be used to determine a physical location for theautomobile.

Self-driving application 119 may further include social networkingapplications and/or travel applications. For instance, self-drivingapplication 119 may communicate via module 118 (and perhaps network 160)with automobile control 120 and travel server 130 to identifydestinations of other automobiles, compare destinations of the otherautomobiles to the destination of the first automobile, and to emulatethe movement of another automobile in response to determining a samedestination. In this embodiment, self-driving application 119 mayinclude a social media component to disclose and receive travelinformation from other users. Self-driving application 119 may includedevice interfaces and other display modules that may receive inputand/or output information. For example, self-driving application 119 maycontain software programs, executable by a processor, including agraphical user interface (GUI) configured to provide an interface to adriver by a display screen in the first automobile.

Automobile control 110 may further include database 116 stored to amemory of automobile control 110, which may store various applicationsand data and be utilized during execution of various modules ofautomobile control 110. Thus, database 116 may include, for example, IDssuch as operating system registry entries, IDs associated with hardwareof automobile control 110, entries including stored drivingcharacteristics associated with self-driving automobiles, destinationinformation, user profile information, and the like. Self-drivingapplication 119 may access database 116 and use data, such as storeddriving characteristics, to compare driving characteristics of otherautomobiles on the road to those stored driving characteristics and todetermine that one or more other automobiles are self-drivingautomobiles by making a match or a near match between observed drivingcharacteristics and one or more stored driving characteristics.

For instance, an exact match of driving characteristics may not be usedin some embodiments, as observed characteristics may be weighted andapplied in an algorithm to determine whether it is more likely than notthat and other automobiles a self-driving automobile. For instance,various algorithms may include threshold parameters that may be met bycorrelating observed driving characteristics to stored drivingcharacteristics and weighting the correlation numbers and then comparingweighted correlation numbers or sums to one or more thresholdparameters. In other embodiments, artificial intelligence andself-learning algorithms may be used to identify other self-drivingautomobiles using any useful data stored to database 116.

Database 116 may also include historical location information of theuser, historical destination information of the user, and may includepre-programmed map data. Self-driving application 119 may accessdatabase 116 and use such information to provide navigation services anduseful information to a user on a display within the automobile.

Automobile control 110 includes at least one communication module 118adapted to communicate with automobile control 120 and/or travel server130. In various embodiments, communication module 118 may include abroadband device, a satellite device and/or various other types of wiredand/or wireless network communication devices including microwave, radiofrequency, infrared, Bluetooth, and NFC devices.

Automobile control 120 may be included in an additional automobile thatshares the road with the automobile associated with automobile control110. In other words, automobile control 110 automobile control 120 maybe associated with two different automobiles in motion and sharing theroad concurrently. Automobile control 120 may be implemented usinghardware and/or software, the same as or similar to that described abovewith respect to automobile control 110.

Control system and actuators 122 may be implemented within the otherautomobile the same as or similar to control system and actuators 112are implemented within the automobile associated with automobile control110. Control system and actuators 122 may also perform the same orsimilar functions as those described above with respect to controlsystem and actuators 112.

Sensors 124 may be implemented within the other automobile the same asor similar to sensors 114 are implemented within the automobileassociated with automobile control 110. Also, sensors 124 may performthe same or similar functions as those described above with respect tosensors 114.

Communication module 128 may be implemented within the other automobilethe same as or similar to communication module 118 is implemented withinthe automobile associated with automobile control 110. Communicationmodule 128 may also perform the same or similar functions as thosedescribed above with respect to communication module 118. Furthermore,automobile control 120 may include other components, such as a database(not shown) the same as or similar to database 116.

Self-driving application 126 may include a more sophisticated and morerobust suite of self-driving logic and hardware than is included withself-driving application 119. For instance, self-driving application 126in this example may include more sensors 124 at front, side, and rear toprovide a more comprehensive view of surroundings of the automobileassociated with automobile control 120. In other embodiments,self-driving application 126 and sensors 124 may be the same as orsimilar to self-driving application 119 and sensors 114. However, anexample use case includes the self-driving application 126 and sensors124 being quite robust and providing fully-autonomous ornearly-autonomous operation during normal driving, whereas the exampleuse case also includes self-driving application 119 and sensors 114being less advanced. Thus, self-driving application 119 and sensors 114may be used to emulate the operation of the automobile associated withautomobile control 120 in order to provide benefits of more advancedautonomous operation to the less costly system at automobile control110.

Travel server 130 may be maintained, for example, by an online or mobileservice provider, which may provide information to either or both ofautomobile control 110 and automobile control 120 and may even in someaspects be used to provide cloud-based processing functionality and datastorage that would otherwise be the responsibility of automobile control110 or automobile control 120. In this regard, travel server 130includes one or more processing applications which may be configured tointeract with automobile control 110, automobile control 120, and/oranother device/server to facilitate self-driving.

Travel server 130 of FIG. 1 includes a destination processingapplication 132, other applications 134, a database 136, and a networkinterface component 138. Destination processing application 132 andother applications 134 may correspond to executable processes,procedures, and/or applications with associated hardware. In otherembodiments, travel server 130 may include additional or differentmodules having specialized hardware and/or software as required.

Destination processing application 132 may correspond to one or moreprocesses to track destinations of automobiles, provide navigationservices to automobiles, and the like. For instance, in one embodiment,destination processing application 132 may compare locations of variousautomobiles and send a notification to self-driving application 119 whendetermining that the automobile associated with self-driving application126 has a same destination. Furthermore, self-driving application 119and self-driving application 126 may communicate over network 160 todestination processing application 132 to coordinate destinations or anyother useful travel functions. Additionally, automobile control 110 andautomobile control 120 may communicate with each other via network 160and/or directly using some other kind of connection, such as Bluetoothor Wi-Fi.

In one example, other applications 134 includes a social mediacomponent, allowing self-driving application 119 and self-drivingapplication 126 to communicate with each other based on linkedattributes at the social media component. Other applications 134 mayprovide additional utility, such as automobile diagnostics and the like.Other applications 134 may contain software programs, executable by aprocessor, including a graphical user interface (GUI), configured toprovide an interface to the user when accessing travel server 130. Invarious embodiments where not provided by destination processingapplication 132, other applications 134 may include connection and/orcommunication applications, which may be utilized to communicateinformation to over network 160.

Additionally, travel server 130 includes database 136. Database 136 mayinclude any information needed to detect and/or emulate or improve thedetection and/or emulation of self-driving automobiles, such as forexample social network identifications, automobile identifications,mapping and navigation data, etc. Furthermore, database 136 may alsoinclude user destination history information for a multitude of users,including the user at automobile control 110, the user at automobilecontrol 120, user location history, and identifying information forself-driving automobiles, such as by license plate number, make andmodel, and visual identification indicators correlated to makes andmodels.

In various embodiments, travel server 130 includes at least one networkinterface component 138 adapted to communicate with automobile control110 and/or automobile control 120 over network 160. In variousembodiments, network interface component 138 may comprise a DSL (e.g.,Digital Subscriber Line) modem, a PSTN (Public Switched TelephoneNetwork) modem, an Ethernet device, a broadband device, a satellitedevice and/or various other types of wired and/or wireless networkcommunication devices including microwave, radio frequency (RF), andinfrared (IR) communication devices.

Network 160 may be implemented as a single network or a combination ofmultiple networks. For example, in various embodiments, network 160 mayinclude the Internet or one or more intranets, landline networks,wireless networks, and/or other appropriate types of networks. Thus,network 160 may correspond to small scale communication networks, suchas a private or local area network, or a larger scale network, such as awide area network or the Internet, accessible by the various componentsof system 100.

FIGS. 2 and 3 illustrate automobiles 210 and 220, according to oneembodiment and from two different perspectives. Automobile 210 andautomobile 220 are both in motion and traveling forward. Specifically,automobile 210 is following automobile 220 along the y-axis. Automobile210 includes automobile control 110, and automobile 220 includesautomobile control 120. Automobile control 110 and automobile control120 are both described above with respect to FIG. 1, and automobilecontrol 110 and automobile control 120 are implemented in theirrespective automobiles 210, 220 to control the operation of thoseautomobiles consistently as described above

Sensor 114 includes forward-facing radar or lidar or computer vision,thereby emitting electromagnetic radiation and then receiving reflectedelection magnetic radiation. In one example, automobile control 110 usesthe data from sensors 114 to detect the presence of automobile 220 andthen to determine that automobile 220 is a self-driving automobile.Determining that automobile 220 is a self-driving automobile may includeany of a variety of techniques performed by automobile control 110. Inone example technique, sensors 114 observe a driving characteristic ofthe first automobile, such as breaking characteristics, accelerationcharacteristics, lane placement characteristics, constancy of speed,disciplined observation of driving laws, and the like. Such drivingcharacteristics may be defined by sets of numerical parameters and thencorrelated with stored driving characteristics (e.g., at database 116).Appropriate formulas may then be used to generate correlation values andthen compare those correlation values to one or more thresholds. Eachcharacteristic may be weighted appropriately, and a correlation score orsum exceeding a threshold may be an indication that automobile 220 isindeed a self-driving automobile. Of course, the scope of embodimentsmay include using any appropriate driving characteristic and anyappropriate threshold and weighting formula. In fact, the scope ofembodiments may use any appropriate technique to match observed drivingcharacteristics with known driving characteristics to determine whethera given automobile is a self-driving automobile.

In another example, sensors 114 may read license plate data, e.g., usingcharacter recognition and then querying license plate characters overnetwork 160 or with data in database 116 to determine whether a givenautomobile is a self-driving automobile. For instance, resources (e.g.,database 136) over network 160 or within database 116 may allowreferencing license plate data with indications of self-drivingabilities for various automobiles. For instance, automobile control 110may compare license plate data of automobile 220 with stored licenseplate data and then discern a self-driving status of the firstautomobile from the comparing. Alternatively, automobile control 110 maygenerate a query over network 160 to travel server 130, which thenreturns a result indicating whether or not automobile 220 is aself-driving automobile. In one embodiment, an identifier of theautomobile, such as a license plate or vehicle identification number(VIN), maybe detected or obtained, and a database or site, such asmanaged by the DMV or NHTSA, maybe queried or scraped to determine aself-driving level or self-driving type of the automobile, e.g., level 0to level 5, where current classifications are (generally): Level 0—noself-driving features, Level 1—some driver assistance, Level2—additional driver assistance, Level 3—conditioned autonomy, Level4—nearly autonomous, and Level 5—completely autonomous.

In another example, sensors 114 may visually identify a contour of arear shape of the first automobile from reflected electromagneticradiation. Automobile control 110 may then compare identified contoursagainst data in database 116 or may generate a query over network 160 totravel server 130 to perform the comparison. Thus, automobile control110 or travel server 130 may compare identified contours with storedcontour data (e.g., database 116 or 136) to discerning make and model ofautomobile 220 from the contour and discern a self-driving status ofautomobile 220 from the make and model. Sensors 114 may additionally oralternatively receive a signal transmitted from automobile 220 anddiscern a self-driving status of automobile 220 from that signal,wherein some examples the signal may be an identifying signal for makeand model or self-driving status. In other examples the signal may be anincidentally identifying signal, such as radar for adaptive cruisecontrol that can be assumed to be associated with self-driving abilitiesof automobile 220.

In response to determining that automobile 220 is a self-drivingautomobile, automobile control 110 causes automobile 210 to emulate themotion of automobile 220. In one embodiment, the amount or type ofemulation is based further on determining a level or type of theself-driving automobile, e.g., a Level 5 self-driving automobile maybeemulated must closer than a Level 3 self-driving automobile. Continuingwith the example, sensor 114 processes the returned electromagneticradiation to determine speed and position of automobile 220.Additionally or alternatively, sensor 114 may include infrared orvisible light image processing to also provide data that can beprocessed to indicate speed and position of automobile 220. Automobilecontrol 110 uses that data, as described above with respect to FIG. 1,to provide control signals to control system and actuators 112 in orderto cause automobile 210 to emulate the motion of automobile 220.

For instance, computer logic of automobile control 110 (e.g.,self-driving application 119) uses the data from sensors 114 to generatea three-dimensional model of the position and speed of automobile 220 ata plurality of locations. FIGS. 2 and 3 show example X, Y, and Z axes aswell as a plurality of locations n, n+1, n+2. In one example, computerlogic of automobile control 110 generates the three-dimensional model bytracking a position of automobile 220 with respect to the right-handside line 310, a position of automobile 220 with respect to theleft-hand side line 320, a distance between automobile 210 and 220, anda speed of automobile 220. Computer logic of automobile control 110performs these calculations for each of the positions n, n+1, n+2 andstores the results of the calculations in a memory. Though the exampleof FIGS. 2 and 3 shows only three positions, it is understood thatvarious embodiments may use as many positions as is appropriate. Forexample, various embodiments may generate a new position every meter,every 10 meters, or other appropriate interval and perform thecalculations described above at each of those positions.

Computer logic of automobile control 110 (e.g., self-driving application119) accesses the position and speed calculations from memory andtransforms them into commands that can be issued to control system andactuators 112 to physically cause automobile 210 to emulate the motionof automobile 220. For example, throttle and brake commands may be usedto maintain a speed that matches or approximately matches the speed ofautomobile 220, and steering commands may be used to maintain a laneplacement that matches or approximately matches the speed of automobile220 so that as automobile 210 approaches location n it matches orapproximately matches the speed and position that automobile 220 had atthat same location. Furthermore, self-driving application 119 uses thiscalculation to maintain speed, following distance, and lane placementboth in straight driving situations and in curved or hilly drivingsituations. Furthermore, various embodiments may also calculate a z-axisposition of automobile 220 to detect hilly driving situations andperform braking or throttle as appropriate.

In curvy driving situations, the three-dimensional model may evencontinue to follow automobile 220, despite losing straight line of sightwith automobile 220 by interpolating three-dimensional placement ofautomobile 220 from its previous positions and rate of change in thex-axis.

Of course, the drive may eventually come to an end as one or bothdrivers reach their destinations or decide to part ways. Self-drivingapplication 119 may determine to cease emulating the motion ofautomobile 220 according to a variety of scenarios. For instance, if itloses line of sight or other communication with automobile 224 longerthan a set time threshold or distance threshold, then self-drivingapplication 119 may alert the human driver and hand control over to thehuman driver. Self-driving application 119 may hand over control to thehuman driver in other scenarios, such as when it is detected thatdriving conditions have become hazardous. In other embodiments, a humandriver may signal to self-driving application 119 that the human driverdesires to return to a human-driving mode. The human driver may signalto the self-driving application 119 in any of a variety of waysincluding, e.g., a voice command, a touch command, or pressing a button.

In some embodiments self-driving application 119 may use varioustechniques to predict when to hand control to a human driver in order toalert the driver well in advance. For example 1) by determining thedestination of automobile 224 and then further determining that bothautomobiles are nearing the destination; 2) by analyzing the drivingpath and determining a curve, road hazard, or the like that is expectedto create a situation where line of sight with automobile 224 is lost;3) by communicating with similar automobiles that have emulationtechnology and identifying where and why they lost connections with theautomobiles they were following.

In other embodiments the automobiles 210 and 220 may communicate witheach other, either through travel server 130 or directly to each otherusing for example Bluetooth or Wi-Fi. Thus in one embodiment laneplacement and speed may be shared from automobile 220 to automobile 210,which may be used instead of data from sensors 114 or may be used tosupplement the data from sensors 114 in generating the three-dimensionalmodel. In another example, automobile control 120 (automobile 220) maybe used to directly control the actuators 112 (automobile 210) in realtime using a reliable wireless communication between automobiles.

In yet another example, self-driving applications 119 and 126 maycommunicate either directly with each other or through travel server 130to share destination information. In such an example, self-drivingapplication 119 (automobile 210) may emulate the motion of automobile220 so long as self-driving application 126 (automobile 220) is movingin a desired direction toward the destination of automobile 210. Whenautomobile 220 ceases to move in a desired direction, self-drivingapplication 119 may then either switch to a human-driving mode orcommunicate with another self-driving automobile proceeding in a desireddirection and then emulate the movement of that subsequent self-drivingautomobile. As noted above, coordination of destinations may beperformed using destination processing application 132 of travel server130 or directly automobile-to-automobile via applications 119, 126 asappropriate in various embodiments.

FIG. 4 is an illustration of an example method 400, adapted according toone embodiment. In the following example, the illustrations are providedwith respect to automobile control 110 however, it is to be understoodthat the actions of method 400 may be performed by automobile control110, travel server 130, or a combination thereof. The various actionsare provided by the devices as a result of executing computer-readablecode by one or more processors, wherein the computer-readable codeincludes instructions. In this example, automobile control 110 isassociated with an automobile (e.g., automobile 210 of FIGS. 2 and 3)that is following a first automobile (e.g., automobile 220), and itemulates the motion of the first automobile.

At action 402, automobile control 110 detects a first automobile. In oneexample, automobile control 110 may receive input from forward-facingradar or lidar to detect the presence of another automobile. However,other embodiments may detect automobiles using any appropriatetechnique, including receiving electromagnetic signals from otherautomobiles, receiving input from a social media driving applicationthat tracks other automobiles, and the like.

At action 404, automobile control 110 determines that the firstautomobile is a self-driving automobile. In one example, automobilecontrol 110 may observe a driving characteristic of the automobile,wherein examples of driving characteristics include obeying trafficlaws, consistency of speed, and consistency of lane position. Suchexample may assume that self-driving automobiles conform to behaviorpatterns that may be observed and compared to stored data to determinewhether an automobile's driving matches known behavior patterns.Automobile control 110 then may compare the observed drivingcharacteristics to a plurality of stored driving characteristics (e.g.,in a database) and based on the comparing, determine that the drivingcharacteristic conforms to one or more stored driving characteristics.

In another example of action 404, automobile control 110 may receive asignal (e.g., a radio beacon signal) transmitted by the first automobilethat either purposefully or incidentally identifies the first automobileas a self-driving automobile. Automobile control 110 may then discern aself-driving status of the first automobile from that signal.Additionally or alternatively, automobile control 110 may comparelicense plate data of the first automobile to stored license plate data,where the license plate data is referenced in a database withself-driving status. Then based on the comparing, automobile control 110may discern a self-driving status of the first automobile. Similarly,some example embodiments may identify a rear contour shape of the firstautomobile, discerning make and model of the first automobile from thecontour, and then cross reference the contour to a plurality of storedcontours associated with make and model data as well as self-drivingstatus of those makes and models.

At action 406, automobile control 110 determines a motion of the firstautomobile. For example, automobile control 110 may use data fromforward-facing radar or lidar to determine a speed of the firstautomobile, a distance between the automobile with automobile control110 and the first automobile, a position of the first automobile torespect to its lane markers, and the like.

At action 408, automobile control 110 identifies a destination of thefirst automobile. For example, automobile control 110 may communicatewith an automobile control associated with the first automobile todetermine the destination of the first automobile, or it may communicatewith travel server 130 for the same purpose. Automobile control 110 maycompare the destination of the first automobile to the destination ofthe automobile that is associated with automobile control 110. In someinstances it may be determined that the first automobile and the secondautomobile have a same destination. Various embodiments may includeidentifying the destination of the first automobile as a factor used indeciding to emulate the motion of the first automobile at action 410.

At action 410, automobile control 110 causes the second automobile(i.e., the automobile 210 associated with automobile control 110) toemulate the motion of the first automobile. For instance, action 410 mayinclude calculating a speed and a position of the first automobile asthe first automobile is in motion for a plurality of discrete locationsalong a driving path and then causing the second automobile to conformto the speed and the position of the first automobile as the secondautomobile follows the first automobile along the plurality discretedriving locations. An example is shown at FIGS. 2 and 3, wherein thediscrete driving locations are labeled n, n+1, n+2.

In such an example, automobile control 110 would communicate withsensors and actuators of the second automobile to adjust speed andsteering of the second automobile in real-time as it follows the firstautomobile along the plurality discrete locations. Thus, automobilecontrol 110 would attempt to approximate speed and position of the firstautomobile (e.g., automobile 220 of FIGS. 2 and 3) at each of positionsn, n+1, n+2, by the second automobile (e.g., automobile 210) as itreaches each of the positions n, n+1, n+2. The scope of embodiments isnot limited to exact and precise conformance of speed and position, asapproximation within the limits and capabilities of the automobilecontrol 110 and its actuators and sensors in apparent real-time occursat action 410. For instance, conformance within a pre-determinedpercentage of speed or position may be performed at action 410.

At action 412, automobile control 110 switches the status of the secondautomobile to a human-driving mode. For instance, automobile control 110may switch to a human-driving mode in response to determining that thefirst automobile is changing direction or destination, that travelingconditions have become unsafe, that the first automobile has left sightof the sensors associated with automobile control 110, or for any otherappropriate reason. The human-driving mode may not be entirely free ofautonomous features, though the human-driving mode may be morehuman-oriented than the emulation mode of action 410. For instance, thehuman-driving mode may still employ adaptive cruise control or lanekeeping assist, while still accepting human driving input.

The scope of embodiments is not limited to the actions 402-412 of FIG.4. Rather, other embodiments may add, omit, rearrange, or modify one ormore actions as appropriate. For instance, some embodiments may omitidentifying a destination of the first automobile and instead determineto emulate the motion of the first automobile based on other factors,such as a human request, or automatically in response to having followedthe first automobile for certain time or distance. Also, automobilecontrol 110 may repeat actions 402-412 as desired on one or morejourneys.

Furthermore, various embodiments may offer advantages not provided byconventional systems. For instance, some embodiments may allow theautomobile that is following and emulating to enjoy the benefits ofself-driving without having the same sophistication of hardware orsoftware. For instance, the following and emulating automobile may omitsome sensors to the sides or to the rear or may omit sophisticatedhardware functions including traffic sign recognition, etc. Moreover,the actions of FIG. 4 may be used as a semi-autonomous mode in anotherwise fully self-driving automobile in response to hardware orsoftware malfunction or in response to user request.

Referring now to FIG. 5, an embodiment of a computer system 500 suitablefor implementing, for example, the automobile controls 110, 120, andtravel server 130 of FIG. 1 discussed above. It should be appreciatedthat other devices used in automobiles or in the cloud discussed abovemay be implemented as the computer system 500 in a manner as follows.

In accordance with various embodiments of the present disclosure,computer system 500, such as a automobile control system, computer,and/or a network server, includes a bus 502 or other communicationmechanism for communicating information, which interconnects subsystemsand components, such as a processing component 512 (e.g., processor,micro-controller, digital signal processor (DSP), etc.), a system memorycomponent 514 (e.g., RAM) a storage drive component 517 (e.g.,solid-state, hard drive, or optical), a network interface component 506(e.g., wireless card, modem, or Ethernet card), a display component 511(e.g., a touchscreen, CRT, or LCD), an input/output component 504 (e.g.,keyboard, keypad, a touchscreen), a cursor control component 513 (e.g.,mouse, pointer, or trackball), and/or a location determination component505 (e.g., a Global Positioning System (GPS) device as illustrated, acell tower triangulation device, and/or a variety of other locationdetermination devices known in the art.) In one implementation, thestorage drive component 517 may comprise a database having one or morestorage drive components.

In accordance with embodiments of the present disclosure, the computersystem 500 performs specific operations by the processing component 512executing one or more sequences of instructions contained in the memorycomponent 514, such as described herein with respect to FIGS. 1-4discussed above. Such instructions may be read into the system memorycomponent 514 from another computer readable medium, such as storagedrive 517. In other embodiments, hard-wired circuitry may be used inplace of or in combination with software instructions to implement thepresent disclosure.

Logic may be encoded in a computer readable medium, which may refer toany tangible and non-transitory medium that participates in providinginstructions to the processing component 512 for execution. Such amedium may take many forms, including but not limited to, non-volatilemedia and volatile media. In various implementations, non-volatile mediaincludes hard drive or solid state drives, such as the storage drivecomponent 517, and volatile media includes dynamic memory, such as thesystem memory component 514.

Some common forms of computer readable media includes, for example,floppy disk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EPROM,FLASH-EPROM, any other memory chip or cartridge, or any other mediumfrom which a computer is adapted to read.

In various embodiments of the present disclosure, execution ofinstruction sequences to practice the present disclosure may beperformed by the computer system 500. In various other embodiments ofthe present disclosure, a plurality of the computer systems 500 coupledby a communication link 518 to the network 160 (e.g., such as a LAN,WLAN, PTSN, and/or various other wired or wireless networks, includingtelecommunications, mobile, and cellular phone networks) may performinstruction sequences to practice the present disclosure in coordinationwith one another.

The computer system 500 may transmit and receive messages, data,information and instructions, including one or more programs (i.e.,application code) through the communication link 518 and the networkinterface component 506. The network interface component 506 may includean antenna, either separate or integrated, to enable transmission andreception via the communication link 518. Received program code may beexecuted by processing component 512 as received and/or stored instorage drive component 517 or some other non-volatile storage componentfor execution.

The present disclosure may be implemented using hardware, software, orcombinations of hardware and software. Also, where applicable, thevarious hardware components and/or software components set forth hereinmay be combined into composite components comprising software, hardware,and/or both without departing from the scope of the present disclosure.Where applicable, the various hardware components and/or softwarecomponents set forth herein may be separated into sub-componentscomprising software, hardware, or both without departing from the scopeof the present disclosure. In addition, where applicable, it iscontemplated that software components may be implemented as hardwarecomponents and vice-versa.

Software, in accordance with the present disclosure, such as programcode and/or data, may be stored on one or more computer readablemediums. It is also contemplated that software identified herein may beimplemented using one or more general purpose or specific purposecomputers and/or computer systems, networked and/or otherwise. Whereapplicable, the ordering of various steps described herein may bechanged, combined into composite steps, and/or separated into sub-stepsto provide features described herein.

The foregoing disclosure is not intended to limit the present disclosureto the precise forms or particular fields of use disclosed. As such, itis contemplated that various alternate embodiments and/or modificationsto the present disclosure, whether explicitly described or impliedherein, are possible in light of the disclosure. For example, the aboveembodiments have focused on payees and payers; however, a payer orconsumer can pay, or otherwise interact with any type of recipient,including charities and individuals. The payment does not have toinvolve a purchase, but may be a loan, a charitable contribution, agift, etc. Thus, payee as used herein can also include charities,individuals, and any other entity or person receiving a payment from apayer. Having thus described embodiments of the present disclosure,persons of ordinary skill in the art will recognize that changes may bemade in form and detail without departing from the scope of the presentdisclosure. Thus, the present disclosure is limited only by the claims.

What is claimed is:
 1. A system, comprising: a non-transitory memory;and one or more hardware processors coupled to the non-transitory memoryand configured to read instructions from the non-transitory memory tocause the system to perform operations comprising: detecting drivingcharacteristics of a first vehicle; determining, based on the detecteddriving characteristics, that the first vehicle is a self-drivingvehicle; identifying a destination of the first vehicle; determiningthat the destination of the first vehicle is consistent with an intendeddirection of travel of a second vehicle; and causing, in response todetermining that the destination of the first vehicle is consistent withthe intended direction of travel of a second vehicle, the second vehicleto emulate a motion of the first vehicle.
 2. The system of claim 1,wherein the driving characteristics of the first vehicle are detectablebased on at least one of receiving an input from a forward-facing radaror lidar to detect a presence of the first vehicle, receivingelectromagnetic signals from the first vehicle, or receiving an inputfrom a social media driving application that tracks other vehicles. 3.The system of claim 2, wherein the driving characteristics of the firstvehicle are detectable by direct communication with the first vehiclevia Bluetooth or Wi-Fi.
 4. The system of claim 3, wherein the drivingcharacteristics of the first vehicle detected by the directcommunication with the first vehicle is used to supplement the drivingcharacteristics of the first vehicle detected based on the at least oneof receiving the input from the forward-facing radar or lidar to detectthe presence of the first vehicle, receiving the electromagnetic signalsfrom the first vehicle, or receiving the input from the social mediadriving application that tracks other vehicles.
 5. The system of claim1, wherein the operations further comprise calculating a velocity andlocation of the first vehicle, wherein causing the second vehicle toemulate the motion of the first vehicle comprises causing the secondvehicle to travel at a similar velocity as the first vehicle whilemaintaining a predetermined distance from the first vehicle.
 6. Thesystem of claim 1, wherein the driving characteristics include at leastone of obeyance of traffic laws, consistency of velocity, andconsistency of position within driving lane markers.
 7. The system ofclaim 6, wherein determining that the first vehicle is a self-drivingvehicle comprises determining that the detected driving characteristicsmatches known behavior patterns of autonomous vehicles.
 8. The system ofclaim 1, wherein the destination of the first vehicle is determined bycommunicating with an automobile control associated with the firstvehicle or communicating with a travel server.
 9. The system of claim 1,wherein determining that the destination of the first vehicle isconsistent with the intended direction of travel of a second vehiclecomprises comparing the destination of the first vehicle to adestination of the second vehicle.
 10. The system of claim 1, whereinthe operations further comprise switching, upon the determining one of achange in a direction or the destination of the first vehicle, thattraveling conditions have become unsafe, or that the drivingcharacteristics of the first vehicle is no longer detectable, the secondvehicle back to a human-driving mode
 11. A method comprising: detectinga presence of a first vehicle; determining that the first vehicle is aself-driving vehicle based on a detection of a driving characteristicsof the first vehicle; determining that an identified destination of thefirst vehicle is consistent with an intended destination of a secondvehicle; and causing, in response to determining that the identifieddestination of the first vehicle is consistent with the intendeddestination of the second vehicle, the second vehicle to emulate amotion of the first vehicle.
 12. The method of claim 11, wherein thedriving characteristics of the first vehicle are detected based on atleast one of receiving an input from a forward-facing radar or lidar todetect a presence of the first vehicle, receiving electromagneticsignals from the first vehicle, or receiving an input from a socialmedia driving application that tracks other vehicles.
 13. The method ofclaim 11, further comprising calculating a velocity and location of thefirst vehicle, wherein causing the second vehicle to emulate the motionof the first vehicle comprises causing the second vehicle to travel at asimilar velocity as the first vehicle while maintaining a predetermineddistance from the first vehicle.
 14. The method of claim 11, wherein thedestination of the first vehicle is determined by communicating with anautomobile control associated with the first vehicle or communicatingwith a travel server.
 15. The method of claim 11, wherein determiningthat the destination of the first vehicle is consistent with theintended direction of travel of a second vehicle comprises comparing thedestination of the first vehicle to a destination of the second vehicle.16. A non-transitory machine readable medium having stored thereonmachine readable instructions executable to cause a machine to performoperations comprising: detecting driving characteristics of a firstvehicle; determining, based on the detected driving characteristics,that the first vehicle is a self-driving vehicle; identifying adestination of the first vehicle; determining that the destination ofthe first vehicle is consistent with an intended direction of travel ofa second vehicle; and causing, in response to determining that thedestination of the first vehicle is consistent with the intendeddirection of travel of a second vehicle, the second vehicle to emulate amotion of the first vehicle.
 17. The non-transitory machine readablemedium of claim 16, wherein the driving characteristics of the firstvehicle detected by the direct communication with the first vehicle isused to supplement the driving characteristics of the first vehicledetected based on the at least one of receiving the input from theforward-facing radar or lidar to detect the presence of the firstvehicle, receiving the electromagnetic signals from the first vehicle,or receiving the input from the social media driving application thattracks other vehicles.
 18. The non-transitory machine readable medium ofclaim 16, wherein the operations further comprise calculating a velocityand location of the first vehicle, wherein causing the second vehicle toemulate the motion of the first vehicle comprises causing the secondvehicle to travel at a similar velocity as the first vehicle whilemaintaining a predetermined distance from the first vehicle.
 19. Thenon-transitory machine readable medium of claim 16, wherein the drivingcharacteristics include at least one of obeyance of traffic laws,consistency of velocity, and consistency of position within driving lanemarkers, and wherein determining that the first vehicle is aself-driving vehicle comprises determining that the detected drivingcharacteristics matches known behavior patterns of autonomous vehicles.20. The non-transitory machine readable medium of claim 16, wherein theoperations further comprise switching, upon the determining one of achange in a direction or the destination of the first vehicle, thattraveling conditions have become unsafe, or that the drivingcharacteristics of the first vehicle is no longer detectable, the secondvehicle back to a human-driving mode.